﻿using System;
using System.Collections.Generic;

namespace VerticalSpider.IDaos
{
    public interface ISceneGroupRepository : IBaseRepository<SceneGroupModel> { }

    public class ScenePropertyModel
    {
        /// <summary>
        /// 名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 类型
        /// </summary>
        public string Type { get; set; }

        /// <summary>
        /// 值
        /// </summary>
        public string Value { get; set; }
    }

    public class SceneFilterModel
    {
        /// <summary>
        /// 类型全名
        /// </summary>
        public string TypeFullName { get; set; }

        /// <summary>
        /// 相关属性
        /// </summary>
        public List<ScenePropertyModel> Properties { get; private set; } = new List<ScenePropertyModel>();
    }

    public class SceneActionModel
    {
        /// <summary>
        /// 类型全名
        /// </summary>
        public string TypeFullName { get; set; }

        /// <summary>
        /// 属性列表
        /// </summary>
        public List<ScenePropertyModel> Properties { get; private set; } = new List<ScenePropertyModel>();
    }

    public class SceneGroupModel
    {
        /// <summary>
        /// 过滤器
        /// </summary>
        public List<SceneFilterModel> Filters { get; private set; } = new List<SceneFilterModel>();

        /// <summary>
        /// 执行函数
        /// </summary>
        public List<SceneActionModel> Actions { get; private set; } = new List<SceneActionModel>();
    }
}
